"""

列表推导式：[表达式 for 变量 in 列表]

     [x+2 for x in list] ----->新列表

     1、[表达式 for 变量 in 列表 if 条件]
     [x+2 for x in list if i%2==0]
    2、[结果A if 条件 else 结果B  for x  in list]
    [x+2 if x%2==0 else x+1 for x in list]

集合推导式：{表达式 for 变量 in 列表}
    类似列表推导式，但是没有重复元素
字典推导式：{key,value for k,v in 字典.items()}

生成器：节省内存 generator
    1.使用类似于列表推导式  g = (表达式 for 变量 in 列表)
        使用g就是生成器
    2. 函数+yeild
        def func():
            ...
            yield
            ...
        g = func()


    得到里面的元素：
        系统函数： next(g)
        生成器自带函数：g.__next__()  注意：先调用send(None),再传递send(e)

迭代器:
    生成器、字符、列表、集合

    Iterable

    isInstance(x,Iterable)----True False
    生成器 迭代器 可迭代器
    生成器就是迭代器；-------->next(g)   下一个元素
    next(list)----》iter(list)-------->next(iter(list))--------->下一个元素

面向对象：
    类：
        class  类名():
            特征：属性
            动作：方法

"""

